<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        const arr =  [
          { 'id': '29', 'pid': '',     'name': '总裁办' },
          { 'id': '2c', 'pid': '',     'name': '财务部' },
          { 'id': '2d', 'pid': '2c', 'name': '财务核算部'},
          { 'id': '2f', 'pid': '2c', 'name': '薪资管理部'},
          { 'id': 'd2', 'pid': '',     'name': '技术部'},
          { 'id': 'd3', 'pid': 'd2', 'name': 'Java研发部'},
          { 'id': '2g', 'pid': 'd2', 'name': 'Python研发部'},
        ]
    

        function transDataToTreeData(arr){
            const mapObj={}
        arr.forEach(item=>{
            if(!item.children){
                item.children=[]

            }
                mapObj[item.id]=item

            
        })
        // console.log(arr);
        // console.log(mapObj);

        const new_arr = []
        arr.forEach(item=>{
            const parent = mapObj[item.pid]
            console.log('PAREN',parent);
            if(parent){
                //判断是否有pia，如果有的话代表的是一级标签
                parent.children.push(item)
                console.log('1111',parent.children.push(item));
                
                
            }else{
                new_arr.push(item)
            }
            
        })
       
        return new_arr

        }
        transDataToTreeData(arr)
       
    </script>
</body>
</html>